#ifndef ONEWAYFUNCTION_H
#define ONEWAYFUNCTION_H

#include "MyBIGNUM.h"
#include <openssl/ec.h>
#include "myecpoint.h"
#include <QCryptographicHash>

class OneWayFunction
{
public:
    OneWayFunction();
    static QByteArray ecFunc(BN_ULONG r, MyBIGNUM &x, MyECPoint& point, EC_GROUP* group);

    static QByteArray hashFunc(BN_ULONG r, MyBIGNUM &x,QCryptographicHash::Algorithm algorithm);

    static QByteArray ecFunc(BN_ULONG r, MyBIGNUM &&x, MyECPoint& point, EC_GROUP* group);
};

#endif // ONEWAYFUNCTION_H
